home *** CD-ROM | disk | FTP | other *** search
/ The Atari Compendium / The Atari Compendium (Toad Computers) (1994).iso / files / prgtools / gnustuff / minix / libsrc~1.z / libsrc~1 / brk.c < prev    next >
Encoding:
C/C++ Source or Header  |  1989-12-28  |  600 b   |  36 lines

  1. #include "lib.h"
  2. #define OK 0
  3. extern char *brksize;
  4.  
  5. PUBLIC _VOIDSTAR brk(addr)
  6. _VOIDSTAR addr;
  7. {
  8.   int k;
  9.  
  10.   k = callm1(MM, BRK, 0, 0, 0, addr, NIL_PTR, NIL_PTR);
  11.   if (k == OK) {
  12.     brksize = M.m2_p1;
  13.     return(NIL_PTR);
  14.   } else {
  15.     return( (_VOIDSTAR) -1 );
  16.   }
  17. }
  18.  
  19.  
  20. PUBLIC _VOIDSTAR sbrk(incr)
  21. int incr;
  22. {
  23.   char *newsize, *oldsize;
  24. /*  extern int endv, dorgv; */
  25.  
  26.   oldsize = brksize;
  27.   newsize = brksize + incr;
  28.   if ((incr > 0 && newsize < oldsize) || (incr < 0 && newsize > oldsize))
  29.         return( (_VOIDSTAR) -1);
  30.   if (brk(newsize) == 0)
  31.     return(oldsize);
  32.   else
  33.     return( (_VOIDSTAR) -1 );
  34. }
  35.  
  36.